#include "Color.hpp"

namespace phx
{

Color::Color()
{
	this->r = 255;
	this->g = 255;
	this->b = 255;
	this->a = 255;
}

Color::Color(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
{
	this->r = r;
	this->g = g;
	this->b = b;
	this->a = a;
}

const Color Color::Black	=	Color(0, 0, 0, 255);
const Color Color::Gray		=	Color(127, 127, 127, 255);
const Color Color::White	=	Color(255, 255, 255, 255);
const Color Color::Red		=	Color(255, 0, 0, 255);
const Color Color::Green	=	Color(0, 255, 0, 255);
const Color Color::Blue		=	Color(0, 0, 255, 255);
const Color Color::Yellow	=	Color(255, 255, 0, 255);
const Color Color::Purple	=	Color(255, 0, 255, 255);


Colorf::Colorf()
{
	this->r = 1.0f;
	this->g = 1.0f;
	this->b = 1.0f;
	this->a = 1.0f;
}

Colorf::Colorf(float r, float g, float b, float a)
{
	this->r = r;
	this->g = g;
	this->b = b;
	this->a = a;
}

const Colorf Colorf::Black	=	Colorf(0.0f, 0.0f, 0.0f, 1.0f);
const Colorf Colorf::Gray	=	Colorf(0.5f, 0.5f, 0.5f, 1.0f);
const Colorf Colorf::White	=	Colorf(1.0f, 1.0f, 1.0f, 1.0f);
const Colorf Colorf::Red	=	Colorf(1.0f, 0.0f, 0.0f, 1.0f);
const Colorf Colorf::Green	=	Colorf(0.0f, 1.0f, 0.0f, 1.0f);
const Colorf Colorf::Blue	=	Colorf(0.0f, 0.0f, 1.0f, 1.0f);
const Colorf Colorf::Yellow =	Colorf(1.0f, 1.0f, 0.0f, 1.0f);
const Colorf Colorf::Purple =	Colorf(1.0f, 0.0f, 1.0f, 1.0f);

}